package org.example.musicproject.dao;

import org.example.musicproject.entity.Comments;
import org.example.musicproject.entity.Singer;

import java.sql.Connection;
import java.util.List;

public interface CommentsDao {
    /**
     * 查询所有评论信息
     * @return 返回评论信息集合
     */
    List<Comments> all();

    /**
     * 根据id查询评论信息
     * @param id 评论id
     * @return 返回一条评论信息
     */
    Comments byId(int id);

    /**
     * 添加评论信息
     * @param comments 评论信息实体类
     * @return 返回自动编号
     */
    int add(Comments comments);
    /**
     * 更新指定ID的评论的删除原因。
     *
     * @param cid       评论ID
     * @param delReason 删除原因
     * @return 受影响的行数
     */
    int updateDelReason(int cid, String delReason);

    /**
     * 依据歌曲评论表查询id查询评论
     * @param soid 歌曲编号
     * @return 返回受影响行数
     */
    List<Comments> getCommentsBySongId(int soid);
    /**
     * 根据ID删除评论。
     *
     * @param cid 评论ID
     * @return 是否删除成功
     */
    boolean delete(int cid,String delReason);

//    int add(Connection conn, int soid, int cid);

//    /**
//     * 删除评论时添加删除原因(将原因发给评论发表该评论的用户)
//     * @param id 评论编号
//     * @param delReason 评论信息实体类
//     * @return 返回受影响行数
//     */
//    int update(int id,String delReason);
}
